/**
 * 角色信息管理controller.
 * @author 苏亚欣
 * @version 1.0.0, 2015-07-14
 * @author 奚志敏
 * @version 1.0.1, 2015-07-20
 */
Ext.define('MyApp.view.MenuView', {
	//extend: 'Ext.grid.Panel',
	extend: 'Ext.tree.TreePanel',
	alias: 'widget.menuview',
	id: 'menuview',
	resizable : false,
	closeAction : 'hide',
	multiSelect : true,
	loadMask : true,

	enableDD: true,
	rootVisible: false,  //隐藏根节点
	useArrows:true, //树节点使用箭头
	containerScroll: true,
	collapsible: false,
	autoScroll: false,
	singleExpand:true,   //展示单个子节点，其它的子节点合并。
	animate : true,//动画效果
	columnLines : true,
	//layout:'fit',
	// requires: [
   	//     'MyApp.store.TreeMenuStore',
	// 	'MyApp.store.MenuStore'
   	// ],
	models:[
	    'MyApp.model.MenuModel'
	],
	store: 'TreeMenuStore',
	/**
	 * 创建查询条件面板
	 */
	dockedItems: [
		{
			xtype:'panel',
			border: 1,
			dock: 'top',
			width:'100%',
			height:35,
			items:[{
				xtype: 'panel',
				//bodyStyle:'background:#E8E8E8;',
				layout : 'column',
				border:false,
				defaults : {
					labelAlign : 'right',
					labelWidth : 70,
					margin: 6
				},
				items:[{
					xtype:'textfield',
					fieldLabel:'菜单名称',
					name:'menu_name',
					labelWidth:70,
					width:260,
					length: 20,
					vtypeText : '角色名称最多可输入20个字符',
					vtype: 'limitLen'
				},{
					xtype:'combobox',
					fieldLabel:'状态',
					name:'roles_status',
					labelWidth:40,
					width:160,
					editable: false,
					displayField: 'name',
					valueField: 'value',
					//store: Ext.create('MyApp.store.StatusStore'),
					value: '-1'
				},{
					xtype:'button',
					width: 70,
					text:'查询',
					name:'btn-search',
					iconCls: 'btn-search'
				},{
					xtype:'button',
					width: 70,
					text:'重置',
					name:'btn-clear',
					iconCls: 'btn-clear'
				}]
			}]
		},
		{
			xtype : 'panel',
			border : false,
			dock: 'top',
			layout : 'column',
			height:35,
			defaults : {
				width: 60,
				margin: 6
			},
			items:[{
				xtype : 'button',
				text : '添加',
				name : 'btn-add',
				//action:'save',
				iconCls: 'btn-add'
			},{
				xtype : 'button',
				text : '删除',
				name : 'btn-delete',
				iconCls: 'btn-delete'
			},{
				xtype:'button',
				text:'启用',
				name:'btn-openStatus',
				iconCls: 'btn-openStatus'
			},{
				xtype:'button',
				text:'禁用',
				name:'btn-closeStatus',
				iconCls: 'btn-closeStatus'
			}]
		}],
	selModel : Ext.create('Ext.selection.CheckboxModel'), // 每行前面加一个勾选框
	//创建表格列
	// createColumns:function(){
	// 	var columns = [
	// 		new Ext.grid.RowNumberer({
	// 			header:"序号", width:60, style :"text-align:center", align:'left'
	// 		}),
	// 		//{header: '菜单名称',xtype: 'treecolumn', dataIndex: 'menu_name', sortable: false, flex: 1},
	// 		{ text: '菜单名称',  xtype: 'treecolumn',dataIndex: 'menu_name', flex: 1,sortable: true},
	// 		{ text: '菜单图标', dataIndex: 'menu_icon', flex: 1,sortable: true},
	// 		{ text: '菜单父ID', dataIndex: 'menu_parent', flex: 1,sortable: true},
	// 		{ text: 'url地址',  dataIndex: 'menu_url', flex: 2,sortable: true},
	// 		new Ext.grid.column.Action(WX.Ext.Util.createEditBtn("edit,delete,detail"))
	// 	];
	// 	return columns;
	// },
	//创建表格列
	createColumns:function(){
		var columns = [
			new Ext.grid.RowNumberer({
				header:"序号", width:60, style :"text-align:center", align:'left'
			}),
			{header: '菜单主键', dataIndex: 'menu_pk', sortable: false, width:60},
			{ text: '菜单名称',  xtype: 'treecolumn',dataIndex: 'menu_name', width:200 ,sortable: true},
			{ text: '菜单图标',  dataIndex: 'menu_icon', width:200  ,sortable: true},
			{ text: '菜单父ID',  dataIndex: 'menu_parent', width:200  ,sortable: true},
			{ text: 'url地址',   dataIndex: 'menu_url', width:300  ,sortable: true},
			 new Ext.grid.column.Action(WX.Ext.Util.createEditBtn("edit,delete,detail"))
		];
		return columns;
	},
	initComponent:function(){
		Ext.apply(this, {
			emptyText: '没有符合条件的角色信息！',
			// store : Ext.create('MyApp.store.TreeMenuStore', {
			// 	url: 'wxapp-web/menu/list.action'
			// }),
			//store : Ext.create('MyApp.store.TreeMenuStore'),
			columns: this.createColumns()
		});
		this.callParent(arguments);
	},
	bbar: {
		xtype: 'pagingtoolbar',
		pageSize: 25,
		height : '30',
		store :'TreeMenuStore', // 主要是取store中从后台返回的totalCount，以及在store中设置的pagesize，就可以进行分页。具体的数据分页在后台的sql语句中进行。
		displayMsg : '{0}--{1},共{2}条记录',
		emptyMsg : '没有记录',
		displayInfo : true,
		beforePageText : '第',
		afterPageText : '页，共{0}页',
		firstText : '首页',
		laseText : '末页',
		nextText : '下页',
		prevText : '上页'
	}

});
